'''
Created on 21 nov. 2014

@author: Damien Torond et Geoffrey Sentost
Module Camera
'''
from modele import Voiture, ImageVoiture

'''
import des classe Voiture et ImageVoiture.
'''

class Camera:
    
    '''
     La classe Camera modelise la prise de photos de la voiture capturant ainsi les informations
     sur la voiture.
     '''
    
    def __init__(self):
        '''
        Constructeur de la classe Camera.
        Attributs:
            - L'attribut allume de type booleen est initialise a False et prouve que la camera
            est eteinte au debut.
        '''
        self.allume = False
        
    
    def capturerImage(self, voiture):
        '''
        Methode : Elle demande une instance de la classe voiture en parametre.
        
        Elle permet de capturer l'image et de recuperer les attribut de la longueur, de 
        la largeur, de l'immatriculation et l'image de la voiture, seulement si la camera a ete allume.
        
        On retourne l'image ainsi prise par la camera (instance de la classe ImageVoiture qui regroupe
        les images de toute les voitures).
        '''
        if self.allume == True :
            immatriculation = voiture.getImmatriculation()
            longueur = voiture.getLongueur()
            largeur = voiture.getLargeur()
            image = ImageVoiture.ImageVoiture(immatriculation, longueur, largeur)
            return image
        else :
            print("impossible de capture une image, veuillez allumer la camera")

        
    def setActivationOn(self):
        '''
        Methode : On passe l'attribut allume a True pour allumer la camera.
        '''
        self.allume = True
    
        
    def setActivationOff(self):
        '''
        Methode : On passe l'attribut allume a False pour eteindre la camera.
        '''
        self.allume = False
        
   